#include <string.h>
#include "layer.h"

Layer::Layer()
{

}

void Layer::addCase(Coord& coord, MapCase m)
{
    _cases.insert(std::pair<Coord, MapCase>(coord, m)) ;
}

void Layer::addCase(int x, int y, MapCase m)
{
    _cases.insert(std::pair<Coord, MapCase>(Coord(x,y), m)) ;
}

const Tile* Layer::tile(Coord& coord) const
{
    return _cases.at(coord).tile() ;
}

const Tile* Layer::tile(int x, int y) const
{
    return _cases.at(Coord(x,y)).tile() ;
}

int Layer::count() const
{
    return _cases.size() ;
}

int Layer::width() const
{
    return _width ;
}

int Layer::height() const
{
    return _height ;
}

float Layer::opacity() const
{
    return _opacity ;
}

const std::string Layer::name() const
{
    return std::string(_name) ;
}

bool Layer::visible() const
{
    return _visible ;
}

void Layer::setOpacity(float opacity)
{
    _opacity = opacity ;
}

void Layer::setName(const char* name)
{
    _name = strdup(name) ;
}

void Layer::setVisible(bool visible)
{
    _visible = visible ;
}
